﻿Imports Aricie.DNN.UI.Controls
Imports Aricie.DNN.Modules.LuceneSearch.Settings
Imports Aricie.DNN.Settings
Imports Aricie.ComponentModel
Imports Aricie.DNN.Modules.LuceneSearch.Business

Namespace Aricie.DNN.Modules.LuceneSearch.UI

    Public Interface ILuceneResultsControl
        Property LuceneFilterQuery() As LuceneFilterQuery
        Event RefreshData(ByVal sender As Object, ByVal e As GenericEventArgs(Of SearchParams))
        Sub ConfigGrouping(ByVal fieldName As String)
        Sub DisplayResults(ByVal resultsList As IList(Of LuceneSearchResultsInfo), ByVal nbResultFound As Integer, ByVal sortFieldName As String, ByVal printMode As Boolean, Optional ByVal pageIndex As Integer = -1)

        ' il parait logique que les résultats soient responsables de la taille de la page de résultats
        Sub RetrieveUrlInformation()

        ' les propriétés que l'on récupère à partir de l'url
        Property PageSize As Integer
        Property PageIndex As Integer
        Property PageCount As Integer
        Property Sort As String
        ''' <summary>
        ''' Les tris fournis par les filtres, séparés par des ,
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Property FilterSort As String
        Property Grouping As String


        ' le tri
        Function GetSortParameter() As String

        ' pour placer le pager
        ReadOnly Property PagerHolder As PlaceHolder

    End Interface


End Namespace